1. Field of the Invention
The present invention relates to an integrated circuit, more particularly an integrated circuit for use in a digital set top box.
2. Description of the Related Art
Devices, known as set top boxes, are known for use with standard television sets to enable those television sets to receive video and/or audio signals transmitted over cable or satellite networks.
The set top boxes receive many channels of video and audio data which are coded and multiplexed. The set top box must, therefore, according to the particular application, include various processing units for such functions as demultiplexing, video decoding, audio decoding, graphic overlay, etc. The set top box must also include at least one control unit for controlling the various processing units. Various memories are also provided in the set top box for storing control data on the one hand and video/audio data on the other hand as it is processed.
FIG. 1 of the accompanying drawings illustrates the various functional units of a digital set top box and their inter-relating connections.
It is desirable for reasons of cost, reliability and ease of manufacture, to implement the core functionality of a set top box in a single integrated circuit. However, new types of application being run on set top boxes require more powerful graphics and processor power, whilst still demanding a reduction in the total system cost.
The apparatus illustrated in FIG. 1 could be embodied in a single integrated circuit. However, all of the various memories add considerably to the required size and cost of the integrated circuit. For example, the demultiplexer might require 512 kbytes memory, the video decoder 2 Mbytes, the graphics overlay 1 Mbyte and the main processor 2 Mbytes.
An alternative approach would be to integrate all or most of the components, but omitting in particular the memories. However, with increasing system integration, more processor units are included in the integrated circuit and, hence, more pins are required on the integrated circuit to allow access to the extra external memories required for the respective processor units. With the increasing core functionality and decreasing geometry available for new integrated circuits, too many pins are required to make it economical.
The present invention is based on the realisation that the above problems can be overcome by providing the processor units with a shared common memory. In particular, various processing units can be connected to a common data bus which feeds a memory interface for accessing an external memory.
Thus, according to the present invention, there is provided an integrated circuit for use in a digital set top box, the integrated circuit including:
at least one control unit;
a plurality of processing units;
at least two buses each connected to at least two of said units; and
respective memory interfaces connected to said buses for transferring data to and from an external memory.
According to the present invention, there is also provided a method of integrating control and processing units for a digital set top box, the method comprising:
providing the control and processing units in an integrated circuit;
providing at least two buses on the integrated circuit each connecting at least two of the units; and
providing respective memory interfaces on the integrated circuit for the buses for transferring data to and from an external memory.
In this way, the present invention allows the core functionality of a set top box, including all of the key processor units, to be included in a single integrated circuit. Since all the units on a bus use the same memory, only a small number of pins are required to access that external memory. Furthermore, the cost of the single high capacity memory is considerably less than that of multiple individual memories and their associated connections.
Unfortunately, the data bandwidth between the memory and the integrated circuit is finite and some of the processing units, particularly the video decoder, require frequent and long access to the memory to perform their function. When one of the processing units is operating in this way, other functions of the set top box are thereby inhibited.
Hence, it is proposed that said buses include first and second data buses each connected to at least two of said plurality of processing units; and
a memory interface connected to said second data bus for transferring data to and from a respective external memory.
It is also proposed that a method of integrating control and processing units for a digital set top box further comprises:
connecting at least two of the processing units to one of said buses on the integrated circuit; and
connecting at least two of the processing units to another one of said buses on the integrated circuit.
In this way, when one of the processing units has long access with an external memory, other processing units can still use the other external memory. Furthermore, each processing unit, by being connected to each data bus, can have access to both external memories.
Although the invention as defined above uses two or more external memories, this is still significantly advantageous when compared to using individual memories for each processing unit.
By means of the two data buses and two external memories, it is also possible for particularly intensive data processing to make use of both memories. In particular, a processing unit, such as the video decoder, may make use of both external memories for very high quality graphics, whereas, for normal applications, the video decoder can use one external memory, while the audio decoder uses the other external memory.
Unfortunately, for an arrangement such as illustrated in FIG. 1, while a processing unit, such as the video decoder, is in communication with the memory, control processes of the set top box are inhibited. In particular, a plurality of control units may need to communicate with one another. For instance, control programs may have to be retrieved from ROM and other control data stored or retrieved from memories or input/output devices.
Hence, it is proposed that the integrated circuit further comprises:
at least two control units and one of said buses is a control bus connected to all of the control units.
It is also proposed that the method of integrating control and processing units for a digital set top box further comprises:
connecting all of the control units to one of said buses on the integrated circuit not used for connecting processing units.
In this way, while data processing is conducted by the processing unit, the control units of the integrated circuit may still fully function and/or communicate with any external devices.
Preferably, each data bus is provided with a respective bridging unit connecting the data bus to the control bus.
It will be appreciated that the data processing operations, particularly for video data, have to take place at a relatively high data rate. On the other hand, control data is usually processed at a lower data rate. By means of the present invention, the lower data rate communication of the control units does not inhibit operation of the processing units at their full speed. Only when a control unit needs to communicate with a processing unit or one of the external memories connected to the data bus does any data transfer between the control bus and the or a data bus. Any such transfer of data between the buses is controlled by the bridge. In this respect, it is possible for the bridge to act as a buffer and, where the control and data buses operate at different rates, to transmit or receive data at the appropriate rate.
Preferably, the integrated circuit further comprises a main memory interface connected to the control bus for transferring data to and from an external memory.
In this way, in a similar way as for the processing units, the control units may make use of their common control bus to transfer data with an external memory.
The processing units may include one or more of a demultiplexer, a video decoder, a video encoder, an audio decoder, an audio encoder, a graphics processor, a DMA engine and an input/output or network interface for instance for ATM, IEEE 1394 OR IEEE 1284.
The control units may include one or more of a main processor, an input/output interface, an I2C interface, UART, a smartcard interface, a memory interface, ROM, RAM, FLASH memory and a DMA engine.
In one particular embodiment, a DMA engine may be shared between the control and processing sides and be connected between the control and data buses.